From 90aebd4f842d308757d8d979249a4ff444826489 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 27 May 2019 22:44:25 +0000 Subject: [PATCH] text tag table: Make final And also move private function to a private header. --- gtk/gtktextbuffer.c | 1 + gtk/gtktexttagtable.c | 20 ++++++++++++++++++ gtk/gtktexttagtable.h | 38 ----------------------------------- gtk/gtktexttagtableprivate.h | 39 ++++++++++++++++++++++++++++++++++++ 4 files changed, 60 insertions(+), 38 deletions(-) create mode 100644 gtk/gtktexttagtableprivate.h diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index d583012cb3..5434696670 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -34,6 +34,7 @@ #include "gtktextbtree.h" #include "gtktextiterprivate.h" #include "gtktexttagprivate.h" +#include "gtktexttagtableprivate.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtktexttagtable.c b/gtk/gtktexttagtable.c index 7c4731c635..ac40a05517 100644 --- a/gtk/gtktexttagtable.c +++ b/gtk/gtktexttagtable.c @@ -25,6 +25,7 @@ #include "config.h" #include "gtktexttagtable.h" +#include "gtktexttagtableprivate.h" #include "gtkbuildable.h" #include "gtktexttagprivate.h" @@ -61,6 +62,25 @@ * ]| */ +typedef struct _GtkTextTagTablePrivate GtkTextTagTablePrivate; +typedef struct _GtkTextTagTableClass GtkTextTagTableClass; + +struct _GtkTextTagTable +{ + GObject parent_instance; + + GtkTextTagTablePrivate *priv; +}; + +struct _GtkTextTagTableClass +{ + GObjectClass parent_class; + + void (* tag_changed) (GtkTextTagTable *table, GtkTextTag *tag, gboolean size_changed); + void (* tag_added) (GtkTextTagTable *table, GtkTextTag *tag); + void (* tag_removed) (GtkTextTagTable *table, GtkTextTag *tag); +}; + struct _GtkTextTagTablePrivate { GHashTable *hash; diff --git a/gtk/gtktexttagtable.h b/gtk/gtktexttagtable.h index 333f834616..58232e753b 100644 --- a/gtk/gtktexttagtable.h +++ b/gtk/gtktexttagtable.h @@ -42,35 +42,7 @@ typedef void (* GtkTextTagTableForeach) (GtkTextTag *tag, gpointer data); #define GTK_TYPE_TEXT_TAG_TABLE (gtk_text_tag_table_get_type ()) #define GTK_TEXT_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_TAG_TABLE, GtkTextTagTable)) -#define GTK_TEXT_TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_TAG_TABLE, GtkTextTagTableClass)) #define GTK_IS_TEXT_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_TAG_TABLE)) -#define GTK_IS_TEXT_TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_TAG_TABLE)) -#define GTK_TEXT_TAG_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_TAG_TABLE, GtkTextTagTableClass)) - -typedef struct _GtkTextTagTablePrivate GtkTextTagTablePrivate; -typedef struct _GtkTextTagTableClass GtkTextTagTableClass; - -struct _GtkTextTagTable -{ - GObject parent_instance; - - GtkTextTagTablePrivate *priv; -}; - -struct _GtkTextTagTableClass -{ - GObjectClass parent_class; - - void (* tag_changed) (GtkTextTagTable *table, GtkTextTag *tag, gboolean size_changed); - void (* tag_added) (GtkTextTagTable *table, GtkTextTag *tag); - void (* tag_removed) (GtkTextTagTable *table, GtkTextTag *tag); - - /* Padding for future expansion */ - void (*_gtk_reserved1) (void); - void (*_gtk_reserved2) (void); - void (*_gtk_reserved3) (void); - void (*_gtk_reserved4) (void); -}; GDK_AVAILABLE_IN_ALL GType gtk_text_tag_table_get_type (void) G_GNUC_CONST; @@ -93,16 +65,6 @@ void gtk_text_tag_table_foreach (GtkTextTagTable *table, GDK_AVAILABLE_IN_ALL gint gtk_text_tag_table_get_size (GtkTextTagTable *table); - -/* INTERNAL private stuff - not even exported from the library on - * many platforms - */ -void _gtk_text_tag_table_add_buffer (GtkTextTagTable *table, - gpointer buffer); -void _gtk_text_tag_table_remove_buffer (GtkTextTagTable *table, - gpointer buffer); - G_END_DECLS #endif - diff --git a/gtk/gtktexttagtableprivate.h b/gtk/gtktexttagtableprivate.h new file mode 100644 index 0000000000..969cc4e2c8 --- /dev/null +++ b/gtk/gtktexttagtableprivate.h @@ -0,0 +1,39 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __GTK_TEXT_TAG_TABLE_PRIVATE_H__ +#define __GTK_TEXT_TAG_TABLE_PRIVATE_H__ + +#include + +G_BEGIN_DECLS + +void _gtk_text_tag_table_add_buffer (GtkTextTagTable *table, + gpointer buffer); +void _gtk_text_tag_table_remove_buffer (GtkTextTagTable *table, + gpointer buffer); + +G_END_DECLS + +#endif -- 2.30.2